package br.academia

import org.apache.shiro.crypto.hash.Sha256Hash

import br.seguranca.ShiroRole;

class FuncionarioController {

	def scaffold = Funcionario

	def save = {
		def funcionarioInstance = new Funcionario(params)

		//define o hash da senha (obrigatorio)
		funcionarioInstance.passwordHash = new Sha256Hash(funcionarioInstance.passwordHash).toHex()

		if(funcionarioInstance.roles.contains(ShiroRole.FUNCIONARIO)){
			funcionarioInstance.addToPermissions("*:*")
		} else{
			if(funcionarioInstance.roles.contains(ShiroRole.SECRETARIO)){
				funcionarioInstance.addToPermissions("*:*")
			} else{ //func sem perfil
				funcionarioInstance.addToPermissions("*:*")
			}
		}

		if (funcionarioInstance.save(flush: true)) {
			flash.message = "${message(code: 'default.created.message', args: [message(code: 'funcionario.label', default: 'Funcionario'), funcionarioInstance.id])}"
			redirect(action: "show", id: funcionarioInstance.id)
		}
		else {
			render(view: "create", model: [funcionarioInstance: funcionarioInstance])
		}
	}
}
